package com.zmj.tl.database.taos.service;

import com.zmj.tl.database.taos.domain.TreatMetric;
import com.zmj.tl.database.taos.domain.TreatSchema;

/**
 * @author hd
 * @desc
 * @since 2024/2/1 14:21
 */
public interface TreatService {
    /**
     * @param treatSchema 约束
     * @desc 创建库
     * @author hd
     * @since 2024/2/1 13:24
     **/
    int createDatabase(TreatSchema treatSchema);
    /**
     * @param treatSchema 约束
     * @desc 创建超级表
     * @author hd
     * @since 2024/2/1 13:24
     **/
    int createTable(TreatSchema treatSchema);

    /**
     * @param treatSchema 约束
     * @desc 创建子表
     * @author hd
     * @since 2024/2/1 13:24
     **/
    int createStable(TreatSchema treatSchema);

    /**
     * @param treatSchema 约束
     * @desc 删除超级表
     * @author hd
     * @since 2024/2/1 13:24
     **/
    void dropTable(TreatSchema treatSchema);

    /**
     * @param treatSchema 约束
     * @desc 删除库
     * @author hd
     * @since 2024/2/1 13:24
     **/
    void dropDatabase(TreatSchema treatSchema);

    /**
     * @param metric 表计参数
     * @desc 新增表计参数
     * @author hd
     * @since 2024/2/1 12:34
     **/
    void addOne(TreatMetric metric);

    /**
     * @param metric 表计参数
     * @desc 新增表计参数
     * @author hd
     * @since 2024/2/1 12:35
     **/
    void addEntity(TreatMetric metric);

    /**
     * @param metric 表计参数
     * @desc 批量新增表计参数
     * @author hd
     * @since 2024/2/1 12:35
     **/
    void addBatch(TreatMetric metric);
}
